package com.papers.juan.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import com.alibaba.excel.enums.poi.VerticalAlignmentEnum;
import com.papers.common.annotation.ExcelDictFormat;
import com.papers.common.convert.ExcelDictConvert;
import lombok.Data;

import java.util.Date;


/**
 * 试卷维护记录视图对象 t_juan_paper_record
 *
 * @author papers
 * @date 2022-10-08
 */
@Data
@ExcelIgnoreUnannotated
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
public class TJuanPaperRecordVo {

    private static final long serialVersionUID = 1L;

    /**
     * 记录id
     */
    private String recordId;

    /**
     * 试卷ID
     */
    private String paperId;

    /**
     * 试卷名称
     */
    @ExcelProperty(value = "试卷名称")
    private String paperName;

    /**
     * 类型
     */
    @ExcelProperty(value = "类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "1=手动新增,2=自动生成,3=修改,4=删除")
    private String recordType;

    /**
     * 内容
     */
    @ExcelProperty(value = "内容")
    private String recordContent;

    /**
     * 课程id
     */
    private String courseId;

    /**
     * 院系名称
     */
    @ExcelProperty(value = "院系")
    private String departName;

    /**
     * 专业名称
     */
    @ExcelProperty(value = "专业")
    private String majorName;

    /**
     * 课程名称
     */
    @ExcelProperty(value = "题库")
    private String courseSubject;

    /**
     * 用户名
     */
    @ExcelProperty(value = "创建人")
    private String userName;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 创建时间
     */
    @ColumnWidth(18)
    @ExcelProperty(value = "创建时间")
    private Date createdTime;

    /**
     * 更新人
     */
    private String updatedBy;

    /**
     * 更新时间
     */
    private Date updatedTime;

}
